/*
 * @Author: yangsongzhu 422540054@qq.com
 * @Date: 2023-08-29 14:17:07
 * @LastEditors: yangsongzhu 422540054@qq.com
 * @LastEditTime: 2023-12-07 13:58:40
 * @FilePath: \factory-monitor-system\vite.config.ts
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import { defineConfig, loadEnv, type ConfigEnv } from "vite";
import { resolve } from 'path'
import vue from "@vitejs/plugin-vue";
import vueJsx from "@vitejs/plugin-vue-jsx";
//  const webpack = require('webpack');
// https://vitejs.dev/config/
export default defineConfig((mode: ConfigEnv) => {
  const env = loadEnv(mode.mode, process.cwd());
  return {
    build: {
      rollupOptions: {
        output: {
          manualChunks: undefined, // 防止拆分为多个文件
        },
        exclude: ['serverConfig.json'], // 排除 serverConfig.json 文件
      },
    },
    plugins: [vue(), vueJsx()],//插件来处理 Vue 单文件组件中的 JSX 和 TypeScript。
    resolve: {
      alias: {
        '@': resolve(__dirname, "src"),//用于定义别名，使得在代码中可以更简洁地引用某些模块
      },
      extensions: [".ts", ".vue", ".js", ".jsx", ".tsx"], // 导入时想要省略的扩展名列表。
    },
    css: {
      preprocessorOptions: {
        scss: {
          // 引入 var.scss 这样就可以在全局中使用 var.scss中预定义的变量了
          // 给导入的路径最后加上 ;
          additionalData: '@import "./src/styles/variables.scss";',
        },
      },
      postcss: {
        plugins: [
          {
            postcssPlugin: "internal:charset-removal",
            AtRule: {
              charset: (atRule) => {
                if (atRule.name === "charset") {
                  atRule.remove();
                }
              },
            },
          },
         
        ],
      
      },
    },
    lintOnSave: false,//是否在保存时进行 lint 检查
    devServer: {
      hot: true,
      open: true,
      port: 8080,
      host: "0.0.0.0",
      hmr:true,
      proxy: {
        "/api": {
          // target: "http://192.168.16.240:10750/", //接口域名
          changeOrigin: true, //是否跨域
          secure: false, //是否https接口
          pathRewrite: {
            //路径重置
            "^/api": "",
          },
        },
      },
    }
  };
});
